1. Field of the Invention
This disclosure relates generally to receivers for communication systems, and, more particularly, to methods and apparatus to perform turbo decoding for communications receivers.
2. Background
Wireless communication systems include a network infrastructure having base stations throughout a coverage area, each of which is dedicated to a cell or cell site. The base stations are controlled by base station controllers that further communicate with a mobile switching center.
The wireless networks operate according to a number of standards including Code Division Multiple Access (CDMA) standards and the Universal Mobile Telecommunications Services (UMTS) including the Wideband CDMA (WCDMA) and Long Term Evolution (LTE) standards. These standards support high throughput for both voice and data.
Turbo coding is employed in wireless systems to improve performance in which data is split into blocks and coded by a turbo encoder. The decoding may be conducted iteratively and each iteration of the decoder may improve the reliability of the information bits. In order to reach a sufficient decoding performance, a fixed number of iterations may be employed. In many cases, the correct decoding results may be generated with only a few iterations.
Turbo codes used for UMTS standards, use identical constituent recursive convolutional codes with different interleaver designs. A tail sequence of 12 bits may be employed to terminate the trellis to enforce the state to zero state.
The BCIR algorithm described in L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal Decoding of Linear Codes for minimizing symbol error rate,” IEEE Transactions on Information Theory, Vol. IT-20(2), pp. 284-287, March 1974, which is based on maximum a posteriori (MAP) decoding, needs to compute a forward state metric calculation and backward state metric calculation. Multiple iterations of MAP decoding are performed to gradually improve the decoding reliability.
Moreover, conventional turbo decoder design treat tails bit identically as information and parity bits in order to compute the backward state metrics. For UMTS standards, turbo codes employ the 6 tails bits for each constituent decoder are treated as 3 additional trellis stages for decoding. For each iteration, the state metric initial stage computation is repeated because no additional information is provided. This leads to complexity especially for LTE turbo codes, where the block size may be applied and defined as a multiple of two and radix-4 turbo decoding.
In radix-4 decoding, each decoding stage generates two stages of extrinsic information and processes two trellis stages as compared to one for normal radix-2 decoding. Since the number of stages for trellis termination is three, special handling is required for a backward metric calculation, since the number of stages of trellis termination is not divisible by two.